﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using PhoneApplicPersons.Classes;

namespace PhoneApplicPersons.Interfaces
{
    public interface IDS
    {
        /// <summary>
        /// Создать персону
        /// </summary>
        /// <param name="p">Персона</param>
        void Create(Persona p);
        /// <summary>
        /// Получить список всех персон
        /// </summary>
        /// <returns>Список всех персон</returns>
        List<Persona> Read();
        /// <summary>
        /// Получить список персон, у которых ID равен заданному
        /// </summary>
        /// <param name="ID">ID для поиска</param>
        /// <returns>Список персон, у которых ID равен заданному</returns>
        List<Persona> Read(int ID);
        /// <summary>
        /// Обновить указанную персону
        /// </summary>
        /// <param name="p">Персона для обновления</param>
        void Update(Persona p);
        /// <summary>
        /// Удвлить персону из списка по ID
        /// </summary>
        /// <param name="ID">ID персоны для удаления</param>
        void Delete(int ID);
        /// <summary>
        /// Путь
        /// </summary>
        string Path { set; }
        /// <summary>
        /// Следующий наследник
        /// </summary>
        IDS Next { set; }
        /// <summary>
        /// Метод isReady
        /// </summary>
        /// <param name="ext">Признак наследника</param>
        /// <param name="path">Путь</param>
        /// <returns>Наследника интерфейса фабрики</returns>
        IDS isReady(string ext, string path);
    }
}
